// Copyright(c) 2011 Matthew McMullan, Jorel Lalicki and Mike Heise, Jorel Lalicki and Mike Heise. See copying.txt for details.

#ifndef __agml_simd_stream_h__
#define __agml_simd_stream_h__

// make sure that this file is never included directly
#ifndef __agml_agml_h__
#error "Include AGML from agml.h only. This file is not a valid entry point for the library."
#endif

using std::ostream;

namespace agml {
	template<typename t>
	ostream &operator<<(ostream &out, const v128<t> &data) {
		out << "{ ";
		for (u32_fast i = 0; i < data.size(); ++i) {
			out << data.data[i] << ", ";
		}
		out << data.data[data.size()-1] << " }";
		return out;
	}
	ostream &operator<<(ostream &out, _v128 &data) {
		out << *((v128<f32> *)&data);
		return out;
	}
}

#endif
